"""
类的定义和使用示例

本文件演示了Python中类的基本语法，包括：
- 类的定义
- 类属性的定义
- 类方法的定义
- 类的实例化
- 实例方法的调用
"""

class Student:
    """学生类"""
    # 类属性，使用None初始化表示暂时没有值
    name = None
    age = None
    
    def say_hi(self, name, age):
        """
        学生打招呼的方法
        
        Args:
            self: 指向类实例本身的引用，在调用方法时自动传递
                  在定义方法时必须写在第一个参数位置，但调用方法时不需要手动传递
            name (str): 学生的名字
            age (int): 学生的年龄
        """
        print(f"Hello,我的名字叫{name},今年{age}岁")

# 创建Student类的实例对象：对象名=类名()
student = Student()
# 调用实例的方法，self参数会自动传递
# 实际上Python会将student实例自动作为第一个参数传递给say_hi方法的self参数
student.say_hi("张三", 18)
# 上面的方法调用等价于下面这种写法（但不推荐这样使用）:
# Student.say_hi(student, "张三", 18)